#ifndef __GSM__WATCHER_SOURCE_H__
#define __GSM__WATCHER_SOURCE_H__

#include "gsm-watcher.h"

G_BEGIN_DECLS

#define GSM_TYPE_WATCHER_SOURCE				(gsm_watcher_source_get_type ())
#define GSM_WATCHER_SOURCE(obj)				(G_TYPE_CHECK_INSTANCE_CAST ((obj), GSM_TYPE_WATCHER_SOURCE, GsmWatcherSource))
#define GSM_WATCHER_SOURCE_CLASS(klass)		(G_TYPE_CHECK_CLASS_CAST ((klass), GSM_TYPE_WATCHER_SOURCE, GsmWatcherSourceClass))
#define GSM_IS_WATCHER_SOURCE(obj)			(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSM_TYPE_WATCHER_SOURCE))
#define GSM_IS_WATCHER_SOURCE_CLASS(klass)	(G_TYPE_CHECK_CLASS_TYPE ((klass), GSM_TYPE_WATCHER_SOURCE))
#define GSM_WATCHER_SOURCE_GET_CLASS(obj)	(G_TYPE_INSTANCE_GET_CLASS ((obj), GSM_TYPE_WATCHER_SOURCE, GsmWatcherSourceClass))

typedef struct _GsmWatcherSource GsmWatcherSource;
typedef struct _GsmWatcherSourceClass GsmWatcherSourceClass;

struct _GsmWatcherSource {
	GsmWatcher parent_object;
	
	guint32 challenge;
};

struct _GsmWatcherSourceClass {
	GsmWatcherClass parent_class;
};

GType gsm_watcher_source_get_type (void) G_GNUC_CONST;
GsmWatcher *gsm_watcher_source_new (const gchar *address);

G_END_DECLS

#endif